/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejercicios.pkg1evaluacion;
import java.io.*;
/**
 *
 * @author Oscar
 */
public class Ejercicio3 
{
    
    public static void main(String[]args)throws IOException
    {//Main
    int billetes;
    int plazasLibres=25;
    int edadPasajero;
    int niños=0,jovenes=0,adultos=0,jubilados=0;
    double recaudacionNiños=0,recaudacionJovenes=0,recaudacionAdultos=0,recaudacionJubilados=0,recaudacionTotal=0;
    float ocupacionTotal;
    float porcentajeOcupacion=0F;
    boolean bien=false;
    while(!bien)
    {    
        try
        {
            billetes=pedirNumero("¿Cuántos billetes quiere comprar?(Quedan "+plazasLibres+" billetes libres)");
                while((billetes>plazasLibres))
                    {
                    System.out.println("ERROR (Numero de plazas sobrepasadas)");
                    billetes=pedirNumero("¿Cuántos billetes quiere comprar?(Quedan "+plazasLibres+" billetes libres)");
                    }
                do
                    {
                        for(int contadorPasajeros=1;contadorPasajeros<=billetes;contadorPasajeros++)
                            {
                            edadPasajero=pedirNumero("Edad del pasajero Nº "+contadorPasajeros);
                            if(edadPasajero<=0)
                                {
                                System.out.println("Edad introducida incorrecta");
                                }
                            else
                                {
                                if(edadPasajero>0&&edadPasajero<=6)
                                    {
                                    System.out.println("El billete es GRATIS");
                                    niños++;
                                    plazasLibres--;
                                    }
                                if(edadPasajero>6&&edadPasajero<18)
                                    {
                                    System.out.println("El precio del billete es 0.5 EURO");
                                    jovenes++;
                                    plazasLibres--;
                                    }
                                if(edadPasajero>=18&&edadPasajero<65)
                                    {
                                    System.out.println("El precio del billete es 1 EURO");
                                    adultos++;
                                    plazasLibres--;
                                    }
                                if(edadPasajero>=65)
                                    {
                                    System.out.println("El precio del billete es 0.25 EURO");
                                    jubilados++;
                                    plazasLibres--;
                                    }
                                } 
                        }
                if((plazasLibres>0)&&(billetes!=0))
                    {
                    billetes=pedirNumero("¿Cuántos billetes quiere comprar?(Quedan "+plazasLibres+" billetes libres)");
                    while(billetes>plazasLibres)
                        {
                        System.out.println("ERROR (Numero de plazas sobrepasadas)");
                        billetes=pedirNumero("¿Cuántos billetes quiere comprar?(Quedan "+plazasLibres+" billetes libres)");
                        }
                    }
                bien=true;
            }while(plazasLibres>0&&billetes!=0);
    }
        catch(NumberFormatException error)
                {//excepcion a controlar
                    System.out.println("\nNO ES UN NUMERO");
                    bien=false;
                }
    
    }
    recaudacionJovenes=jovenes*0.5;
    recaudacionAdultos=adultos*1;
    recaudacionJubilados=jubilados*0.25;
    recaudacionTotal=recaudacionNiños+recaudacionJovenes+recaudacionAdultos+recaudacionJubilados;
    ocupacionTotal=25-plazasLibres;
    porcentajeOcupacion=(ocupacionTotal/25)*100;
    System.out.println("EDAD          Nº BILLETES         RECAUDACIÓN\n");
    System.out.println("0-6 años__________"+niños+"____________________"+recaudacionNiños);
    System.out.println("6-18 años_________"+jovenes+"____________________"+recaudacionJovenes);
    System.out.println("18-65 años________"+adultos+"____________________"+recaudacionAdultos);
    System.out.println("+65 años__________"+jubilados+"____________________"+recaudacionJubilados);
    System.out.println("TOTAL_____________"+ocupacionTotal+"____________________"+recaudacionTotal);
    System.out.println("El porcentaje de ocupacion del autobús es de: "+porcentajeOcupacion+"%");
    }//Main
    
 
public static int pedirNumero(String mensaje) throws IOException
    {
    InputStreamReader flujo=new InputStreamReader(System.in);
    BufferedReader teclado=new BufferedReader(flujo);
    int numero;
    System.out.println(mensaje);
    numero=Integer.parseInt(teclado.readLine());
    return numero;
    }
}